const URI = 'https://steamclub.wechatapp.vgamer.im/api';

const fetch = require('./fetch')

function getApiUrl() {
  return URI;
}

function http(path, method, params) {
  return fetch(URI, path, method, params)
}

/**
 * { 处理首页获取的卡片数据 }
 * @param      {<type>}  res     The resource
 * @return     {Array}   { description_of_the_return_value }
 */
function dealWithData(res) {
  var cards = [];
  res.data.forEach(function(v, i) {
    let all_games = [],
      recent_play = [];
    /*
    if (v.played.all_games != '') {
        v.played.all_games.data.forEach(function (t, h) {
            all_games.push(t.logo);
        })
    }
    */
    if (v.played.recent_play != '') {
      v.played.recent_play.data.forEach(function(t, h) {
        recent_play.push(t);
      })
    }
    //模板object
    var template = {
      'steamName': v.st_nickname,
      'card_id': v.user_id,
      'steamAvatar': v.st_avatar,
      'steamProfiles': v.steam_profiles,
      'steamPrice': v.account_price,
      'steamTime': v.total_play_time,
      'steamGames': v.game_owned,
      'steamIntroduce': v.saying,
      'comment': v.comment,
      'all_games': all_games,
      'recent_play': recent_play,
      'aim_id': v.user_id,
      animationData: {}
    }
    cards.push(template);
  })

  return cards;
}


function convertime(timestamp) {
  function zeroize(num) {
    return (String(num).length == 1 ? '0' : '') + num;
  }

  var curTimestamp = parseInt(new Date().getTime() / 1000); //当前时间戳
  var timestampDiff = curTimestamp - timestamp; // 参数时间戳与当前时间戳相差秒数

  var curDate = new Date(curTimestamp * 1000); // 当前时间日期对象
  var tmDate = new Date(timestamp * 1000); // 参数时间戳转换成的日期对象

  var Y = tmDate.getFullYear(),
    m = tmDate.getMonth() + 1,
    d = tmDate.getDate();
  var H = tmDate.getHours(),
    i = tmDate.getMinutes(),
    s = tmDate.getSeconds();

  if (timestampDiff < 60) { // 一分钟以内
    return "刚刚";
  } else if (timestampDiff < 3600) { // 一小时前之内
    return Math.floor(timestampDiff / 60) + "分钟前";
  } else if (curDate.getFullYear() == Y && curDate.getMonth() + 1 == m && curDate.getDate() == d) {
    return '今天' + zeroize(H) + ':' + zeroize(i);
  } else {
    var newDate = new Date((curTimestamp - 86400) * 1000); // 参数中的时间戳加一天转换成的日期对象
    if (newDate.getFullYear() == Y && newDate.getMonth() + 1 == m && newDate.getDate() == d) {
      return '昨天' + zeroize(H) + ':' + zeroize(i);
    } else if (curDate.getFullYear() == Y) {
      return zeroize(m) + '月' + zeroize(d) + '日 ' + zeroize(H) + ':' + zeroize(i);
    } else {
      return Y + '年' + zeroize(m) + '月' + zeroize(d) + '日 ' + zeroize(H) + ':' + zeroize(i);
    }
  }
}

module.exports = { http, dealWithData, convertime, getApiUrl }